home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 015a / umbdrvr.zip / UMB_DRVR.DOC next >
Text File  |  1991-11-12  |  43KB  |  948 lines

  1. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 1
  2.  
  3.  
  4.                       UMB_DRVR.SYS Device Driver
  5.                        UMB provider for DOS 5.0
  6.                 Copyright (C) 1991, All Rights Reserved
  7.  
  8.      Christopher Blum          CompuServe: 76625,1041
  9.      1022 East Wayne Avenue      INTERNET: 76625.1041@compuserve.com
  10.      Wooster, Ohio 44691              BIX: cblum
  11.      (216)262-3786
  12.  
  13.  
  14. IMPORTANT INFORMATION
  15.  
  16.      UMB_DRVR.SYS carries no warranties expressed or implied.  It is
  17. solely up to the user to determine its suitability for use on his/her
  18. machine.
  19.  
  20.      UMB_DRVR.SYS is made available on a 'try before you buy' basis.
  21. It is not crippled in any way, and has no 'advertising'. The latest
  22. version will be available on CompuServe in the IBM forum ( 'GO IBMSYS',
  23. lib 1 ).  New versions will be uploaded as more chip sets are supported.
  24.  
  25.      Personal use license ( U.S. funds ) is $25 which should be mailed
  26. to the above address if the program is used after a reasonable trial
  27. period ( 30 days ). Please use the registration form at the end of this
  28. document. Users who register receive the latest version of the program.
  29.  
  30.      Corporate users must contact me for corporate rate or site license
  31. arrangements.
  32.  
  33.      This program is distributed as a self-extracting file containing
  34. the device driver and its associated documentation. Copying and
  35. redistribution is encouraged, but must be the original, unmodified
  36. file containing this documentation, and the transfer must not carry
  37. any fee or charge specific to this program: i.e. general BBS access
  38. or line charges are OK, but no 'download fee' or similar charge. This
  39. means that BBS operators may post this file for download, but may not
  40. charge a specific fee for it, and 'Distribution houses' may charge a
  41. disk-duplication fee, but not a specific charge for the program.
  42.  
  43.      Technical support, including pre-registration questions or install
  44. assistance, is available at your expense at the above telephone number.
  45. Please be aware that I am in the Eastern U.S. time zone ( GMT - 4 or 5
  46. depending on season ) and try to call at a reasonable hour: i.e. 9 AM to
  47. Noon, 1 PM to 5PM, and 7 PM to 10 PM. I can also be contacted via Email
  48. on CompuServe, INTERNET and BIX ( IDs above ) - I monitor my mail almost
  49. every day. You may also leave messages on CompuServe in the IBMSYS forum
  50. section 1. The U.S. Postal Service may also be used, but is not as quick
  51. ( address above ).
  52. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 2
  53.  
  54. INTRODUCTION
  55.  
  56.      UMB_DRVR.SYS is a DOS 5.0 device driver that will use the shadow
  57. memory capability of the memory controller portion of various chip sets
  58. to:
  59.      A) force all roms not specifically excluded to be shadowed, and
  60.      B) expand DOS base memory beyond 640KB if possible, and
  61.      C) provide UMBs ( Upper Memory Blocks ) to DOS for loading
  62.         programs and device drivers into 'high memory'
  63. while NOT using ANY resident memory ( mapped out or otherwise ).
  64.  
  65.      One advantage of this driver is that many if not all other device
  66. drivers and TSR programs may be loaded 'high' including HIMEM.SYS and
  67. EMM386.EXE ( even though the DOS documentation says not! ).
  68.      A second advantage of using UMB_DRVR.SYS is that device drivers
  69. that cannot be loaded high when EMM386.EXE is providing UMBs via the
  70. 'ram' or 'noems' parameter because of their use of DMA transfers will
  71. sometimes work with UMB_DRVR.SYS: EMM386.EXE remaps ram using virtual-86
  72. mode with the memory management logic on the 386+ chips, and the virtual
  73. address is not the same as the real address for the ram area mapped as
  74. UMBs, whereas UMB_DRVR.SYS uses the hardware external to the cpu and
  75. remains in real mode, allowing DMA transfers within the UMB area. Note
  76. however, that some chip sets do not map the shadow area for DMA access,
  77. so this may not apply.
  78.      In addition, remaining in real mode allows programs that must be
  79. able to use protected or virtual-86 mode themselves, such as Borland's
  80. Turbo Debugger ( TD386.EXE / TDH386.SYS ), to operate as intended ( and
  81. yes, TDH386.SYS can be loaded high with no problems ).
  82.      With respect to performance of UMB_DRVR.SYS versus EMM386.EXE, here
  83. are some benchmark results supplied by a ( happy ) user:
  84.  
  85. " System: 386SX 20Mhz, VLSI TOPCAT chip set, 4MB ram, no math processor.
  86.   DOS version: MS/DOS 5.0    UMB_DRVR.SYS version: 5.09
  87.   Benchmark: CHECKIT 3.0 main system benchmark.
  88.  
  89.   CONFIG.SYS                           Dhrystones Whetstones
  90.   ------------------------------------ ---------- ----------
  91.   None                                    3767       76.7K
  92.  
  93.  
  94.   DEVICE=C:\UMB_DRVR.SYS  /C=13           4042       77.1K
  95.   DEVICEHIGH=C:\DOS\HIMEM.SYS
  96.   DEVICEHIGH=C:\DOS\ANSI.SYS
  97.  
  98.  
  99.   DEVICE=C:\DOS\HIMEM.SYS                 3683       45.7K
  100.   DEVICE=C:\DOS\EMM386.SYS NOEMS
  101.   DEVICEHIGH=C:\DOS\ANSI.SYS
  102.  
  103.  
  104.   As you can see, there is a significant difference when using UMB_DRVR,
  105.   not to mention the extra memory saved below 640k.  The benchmarks ran
  106.   faster with UMB_DRVR than they did with no CONFIG.SYS at all. "
  107. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 3
  108.  
  109.  
  110. INSTALLATION
  111.  
  112.      Installation ( preferably as the first driver ) is via the lines
  113.  
  114.          DEVICE=UMB_DRVR.SYS /C=nn [/M=ssssssssssssssssssssssss]
  115.          DOS=[HIGH|LOW],UMB  ( *REQUIRED* - turn on DOS 5 UMB support )
  116.  
  117. in your CONFIG.SYS file. The /C= parameter is required - nn is the chip
  118. set from 'CHIP-SET-SPECIFIC NOTES'. The /M= parameter is optional and is
  119. used to override defaults. It contains characters corresponding to 16K
  120. memory blocks at the following addresses:
  121.  
  122.           /M=ssssssssssssssssssssssss
  123.         A0000'||||||||||||||||||||||`FC000---| Only '..' and '--' may be
  124.          A4000'||||||||||||||||||||`F8000----| used for the system BIOS.
  125.           A8000'||||||||||||||||||`F4000--|
  126.   Video    AC000'||||||||||||||||`F0000---| '..', '--', '++', and '##'
  127.    RAM      B0000'||||||||||||||`EC000    | may be used for boot page.
  128.              B4000'||||||||||||`E8000     | Use '##' to force area to be
  129.               B8000'||||||||||`E4000      | shadowed as part of BIOS.
  130.                BC000'||||||||`E0000
  131.                      |||||||`DC000
  132.                      ||||||`D8000
  133.                      |||||`D4000
  134.                      ||||`D0000
  135.                      |||`CC000
  136.                      ||`C8000
  137.                      |`C4000
  138.                      `C0000
  139.  
  140.            s = '.' Allow default use of block
  141.                '-' Force block to be unused and unshadowed
  142.                '+' Force block to be used for UMBs or
  143.                      to expand DOS base memory beyond 640K
  144.  
  145. The /M= parameter must always be supplied as all 24 characters, using
  146. the '.' character to fill any positions not forced on or off. For
  147. example, on a VGA system using video memory from A0000 to BFFFF, if
  148. it is in CGA 80 x 25 mode, the only video memory in use is B8000-BFFFF.
  149. In this case, the memory from A0000-AFFFF may be used to expand DOS
  150. base memory beyond 640K ( with some VGA cards ) by using the parameter:
  151.  
  152.          /M=++++....................
  153.  
  154. Of course, with the system configured like this, if you change the video
  155. mode, undefined ( read as disaster city! ) results will occur.
  156.  
  157.      A second example would be a system where you wish to use EMM386.EXE
  158. to supply EMS memory and wish to use C8000-D7FFF as the EMS base address
  159. range. To accomplish this, use the parameter:
  160.  
  161.          /M=..........----..........
  162.  
  163. to reserve this memory for EMM386.EXE to use. You will also need to use
  164. the I= parameter for EMM386.EXE to include C8000-D7FFF for its use.
  165. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 4
  166.  
  167.  
  168. DRIVER OPERATION
  169.  
  170.      The driver must be installed BEFORE HIMEM.SYS is installed. It is
  171. an XMS 2.0 server providing UMBs to DOS via that standard. The chip
  172. set parameter is processed and the proper routine called to remap the
  173. unused shadow ram to DOS-useable memory. Available memory starting at
  174. A0000 is used to expand DOS base memory beyond 640K, and other available
  175. memory ( i.e. above the video memory ) is used for UMBs ( the areas
  176. DOS uses for DEVICEHIGH or LOADHIGH commands ).
  177.  
  178.      The driver by default will not use any areas used for video memory.
  179. It also forces any roms including the system BIOS ( F8000-FFFFF ) to be
  180. shadowed unless specifically excluded. If the BIOS has a 'boot page'
  181. at F0000-F7FFF that the driver can recognize ( containing system / CMOS
  182. setup code - AMI is one brand that has this ), that area will be mapped
  183. as available ram since it is not needed after boot time.
  184.  
  185.      The driver should be loaded as the first driver if possible. This
  186. allows following drivers and resident programs to be loaded high - even
  187. HIMEM.SYS and EMM386.SYS ( DOS documentation says they can't, but it
  188. works - see note about Windows, however ). It will initialize, supply
  189. UMBs, and go away leaving no resident memory anywhere.
  190.  
  191.      Appropriate status and error messages are issued during processing
  192. and a map of the driver's action is displayed.
  193.  
  194.  
  195. SYSTEM SETUP EXAMPLE
  196.  
  197.      One of my systems is a 386SX using the Chips and Technologies NEAT
  198. chip set. It has 4MB of RAM and a Hercules Monochrome Graphics card.
  199. I configure 2MB of EMS memory with a base address of C0000-CFFFF using
  200. the NEAT hardware and their supplied software driver RMS386N.SYS. I load
  201. DOS into the HMA using HIMEM.SYS, and also load Borland's Turbo Debugger
  202. device driver TDH386.SYS for 386 virtual debugging ( TD386 ) and the
  203. ANSI.SYS console driver. My CONFIG.SYS looks like this:
  204.  
  205.      BREAK=ON
  206.      FILES=30
  207.      BUFFERS=40
  208.      STACKS=0,0
  209.      SHELL=C:\DOS\COMMAND.COM C:\DOS\ /P
  210.      DEVICE=C:\UTILITY\UMB_DRVR.SYS /C=01
  211.      DEVICEHIGH=C:\DOS\HIMEM.SYS
  212.      DEVICEHIGH=C:\BORLANDC\BIN\TDH386.SYS
  213.      DEVICEHIGH=C:\UTILITY\RMS386N.SYS
  214.      DEVICEHIGH=C:\DOS\ANSI.SYS
  215.      DOS=HIGH,UMB
  216.  
  217. This gives me 704K base memory for DOS, a maximum executable program
  218. size of almost 690K, and 160K in one UMB at D0000-F7FFF with almost 128K
  219. still free in that upper memory block for a mouse driver, network
  220. driver, TSR, etc. I consider that a pretty good cure for 'RAM cram'!
  221. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 5
  222.  
  223.  
  224. MISCELLANEOUS NOTES
  225.  
  226.  
  227. *************
  228. * Boot page *
  229. *************
  230.  
  231.      If UMB_DRVR.SYS uses the 'boot page' area by default and your
  232. system crashes, you need to use the /M= parameter to force it to be
  233. considered part of the BIOS ( use '##' or '--' ). If no 'boot page' is
  234. recognized, you may still be able to use the /M= parameter ( with '++'
  235. for F0000-F7FFF ) to use the area ( if you are brave enough to try it ).
  236.  
  237.  
  238. ***************
  239. * EMS drivers *
  240. ***************
  241.  
  242.      If you run EMS, it is most efficient in terms of contiguous memory
  243. to have your EMS base address immediately following your video ram and
  244. any adjacent rom ( e.g. C0000-CFFFF for CGA or monochrome, C8000-D7FFF
  245. for VGA ) or at the top of the useable area ( e.g. E8000-F7FFF with a
  246. 'boot page', E0000-EFFFF without ).
  247.      It is more efficient to use the hardware EMS driver for your chip
  248. set if it supports it ( e.g. C & T NEAT ) or for your EMS memory card if
  249. you have one instead of EMM386.EXE; see Introduction re Virtual-86 mode.
  250.      If you use a hardware EMS driver, you must use the /M= parameter to
  251. force UMB_DRVR.SYS to exclude the EMS base area.
  252.      If you use EMM386.EXE, you must include the I= parameter to allow
  253. it to use the EMS base area, and you must use the /M= parameter to force
  254. UMB_DRVR.SYS to exclude the EMS base area. The EMS base area must be
  255. above where EMM386.EXE is loaded ( i.e. if you load it high, the base
  256. area must be above the UMB area ). Although you cannot specify a frame=
  257. parameter of E800, using I=E800-F7FF will allow EMM386.EXE to set the
  258. frame there. DO *NOT* USE THE 'RAM' OR 'NOEMS' PARAMETERS! This makes
  259. EMM386 remap to supply UMBs and UMB_DRVR has already done that.
  260.      See the notes for Windows concerning 386 enhanced mode.
  261.  
  262.  
  263. ********************************
  264. * ROMs that cannot be shadowed *
  265. ********************************
  266.  
  267.      Some roms cannot be shadowed by normal means because they have some
  268. ram they must use mapped in their address space ( e.g. some RLL, ESDI
  269. and SCSI disk controller roms ) and shadowing is normally done using
  270. protected ram. These roms usually will work when shadowed by this driver
  271. if they are within a protection block also containing UMBs. Try letting
  272. UMB_DRVR.SYS shadow the rom and see if it works.
  273.      If you find you have a rom that cannot be shadowed, or for some
  274. reason you do not wish to shadow a rom, you must use the /M= parameter
  275. to exclude it from UMB_DRVR.SYS control.  Refer to the chip-set-specific
  276. notes for any special considerations.
  277. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 6
  278.  
  279.  
  280. MISCELLANEOUS NOTES
  281.  
  282.  
  283. ***********
  284. * Windows *
  285. ***********
  286.  
  287.      Windows 3.0 has been tested as follows:
  288.  
  289. 386 enhanced mode:
  290.      Windows will *NOT* run in 386 enhanced mode with UMB_DRVR.SYS in
  291. the system. Use EMM386.EXE to provide UMBs if you want to run this way.
  292.  
  293. Standard mode:
  294.      Windows will run in standard mode with UMB_DRVR.SYS installed and
  295. HIMEM.SYS and an EMS driver ( hardware or EMM386.EXE ) loaded high or
  296. low. Note you must have some extended memory to run standard mode - i.e.
  297. do not have EMM386.EXE remap ALL extended memory to expanded.
  298.  
  299. Real mode:
  300.      Windows runs in real mode with UMB_DRVR.SYS installed, HIMEM.SYS
  301. loaded high, and EMM386.EXE loaded LOW, giving 'large frame EMS'. You
  302. can have EMM386.EXE remap everything to expanded in this configuration.
  303.  
  304.  
  305. **************************************************************
  306. * User Program access to Upper Memory with DOS managing UMBs *
  307. **************************************************************
  308.  
  309. 1. Record current status of memory system so you can restore it.
  310. int 21H/ax=5800h - returns al=strategy ( see below )
  311. int 21h/ax=5802h - returns al=UMB link state ( see below )
  312.  
  313. 2. Set up for memory allocation / deallocation.
  314. int 21h/ax=5801h/bh=0/bl=strategy    int 21h/ax=5803h/bh=0/bl=UMB status
  315.   00h - first fit, low memory          00h = remove UMBs from mem chain
  316.   01h - best   "    "    "             01h = add UMBs to mem chain
  317.   02h - last   "    "    "           ( UMBs must be chained for access )
  318.   40h - first fit, high memory
  319.   41h - best   "    "     "
  320.   42h - last   "    "     "
  321.   80h - first fit, try high then low memory
  322.   81h - best   "    "   "    "    "    "
  323.   82h - last   "    "   "    "    "    "
  324.  
  325. 3. Do normal int 21h/ah=48h, int 21h/ah=49h, int 21h/ah=4Ah as desired.
  326.  
  327. 4. Restore values saved in step 1 above.
  328.  
  329.      The system defaults to first-fit-low with UMBs not chained. If you
  330. chain the UMBs, strategies 00/01/02 affect the entire chain. For example
  331. with the UMBs chained and strategy 00, you will get memory from the UMB
  332. area if the request cannot be satisfied from low memory.
  333. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 7
  334.  
  335.  
  336. DETERMINING YOUR CHIP SET
  337.  
  338.  
  339.      If your system documentation or CMOS setup screen does not tell you
  340. what chip set you have, the best way to find out is to open the cover on
  341. your system and look at the motherboard. *MAKE SURE THE SYSTEM IS OFF
  342. AND UNPLUGGED* when you do this. The chip you will be looking for is
  343. a larger one with many ( usually 120+ ) pins. The number that identifies
  344. the key chip in the set is listed in the chip-set-specific notes for
  345. each one supported. If you find a matching number on one of the chips on
  346. your motherboard, use the /C= value shown for that set. If you don't see
  347. a match, refer to the sections 'BAD NEWS' and 'COMING ATTRACTIONS'.
  348.  
  349.  
  350. CHIP-SET-SPECIFIC NOTES
  351.  
  352.  
  353. ***************************************************************
  354. * Chips & Technologies CS8221/CS8281 NEAT, CS8223/CS8283 LEAP *
  355. ***************************************************************
  356. /C=01 - Chip ID(s): 82C212, 82C812, 82C241, 82C841
  357.  
  358.      These chip sets allow the 384k of motherboard ram at A0000-FFFFF to
  359. relocate to extended memory at 100000-15FFFF on systems with only 1mb of
  360. ram. If this remapping is enabled when UMB_DRVR.SYS enables this area,
  361. the remapping is removed and the size of your extended memory is reduced
  362. by 384k, i.e. it disappears. A small INT 15H stub is installed in the
  363. BIOS stack area at 2DH:5DH to handle situations where your extended
  364. memory size changes. If you shadow anything in your CMOS setup or you
  365. disable the relocation ( see your CMOS setup ), then this stub is not
  366. required and not installed. Note that this applies only to systems with
  367. *EXACTLY* 1MB of memory.
  368.      These chip sets map in 16k segments, but write protection for the
  369. area C0000-FFFFF is in 64k segments. To allow maximum memory utilization
  370. the driver marks any segment containing UMBs as read/write. If the 64k
  371. segment also contains a rom shadow, it is not protected.
  372.      Although it should not be necessary, if you wish to have a rom be
  373. shadowed and protected, exclude any non-rom areas within the 64k segment
  374. ( e.g. for a VGA rom at C0000-C7FFF, exclude C8000-CFFFF ).
  375.      If you must force a rom to be unshadowed, you need only exclude the
  376. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  377. C8000-CBFFF ).
  378.      UMB_DRVR.SYS will recognize the EMS setup for these chip sets and
  379. will by default exclude the EMS base segment if the EMS hardware is
  380. enabled. Use of the /M= parameter is not required in this case.
  381. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 8
  382.  
  383.  
  384.  
  385. CHIP-SET-SPECIFIC NOTES
  386.  
  387.  
  388.  
  389. ****************************
  390. * VLSI Technology VL82C200 *
  391. ****************************
  392. /C=02 - Chip ID(s): VL82C201, VL82C202, VL82C203, VL82C204
  393.                     ( all 4 chips required )
  394.  
  395.      This chip set uses a jumper or switch to enable shadow ram ability.
  396. This does not actually cause shadowing, but must be in proper position
  397. for UMB_DRVR.SYS to work. Check your system documentation.
  398.      This chip set maps and protects in 64k segments. To allow maximum
  399. memory utilization, 64k segments containing UMBs are set to read/write.
  400. If the 64k segment also contains a rom shadow, it is not protected.
  401.      Although it should not be necessary, if you wish to have a rom be
  402. shadowed and protected, exclude any non-rom areas within the 64k segment
  403. ( e.g. for a VGA rom at C0000-C7FFF, exclude C8000-CFFFF ).
  404.      If you must force a rom to be unshadowed, exclude the entire 64k
  405. segment on a 64k boundary ( e.g. for a disk rom at C8000-CBFFF, exclude
  406. C0000-CFFFF ).
  407.  
  408.  
  409.  
  410. *******************
  411. * FOREX FRX36C300 *
  412. *******************
  413. /C=03 - Chip ID(s): FRX36C300
  414.  
  415.      This chip set maps in 32k segments from C0000 to EFFFF, and one 64k
  416. segment for the system BIOS ( F0000-FFFFF ).  Ram at A0000-BFFFF is
  417. always remapped to the highest area and cannot be used by the driver.
  418. Protection is set globally, meaning that all used ram ( shadow or UMBs )
  419. is marked read/write.
  420.      The chip set also remaps D0000-EFFFF to the highest area if there
  421. is nothing shadowed in that area. When UMB_DRVR.SYS enables this area,
  422. the remapping is removed and the size of your extended memory is reduced
  423. by 128k. A small INT 15H stub is installed in the BIOS stack area at
  424. 2DH:5DH to handle situations where your extended memory size changes. If
  425. you shadow something in the area D0000-EFFFF in your CMOS setup ( even
  426. though you may have no rom there ), then this stub is not required and
  427. not installed.
  428.      If you must force a rom to be unshadowed, exclude the entire 32k
  429. segment on a 32k boundary ( e.g. for a disk rom at C8000-CBFFF, exclude
  430. C8000-CFFFF ).
  431. UMB_DRVR.DOC       Version 5.10             11/12/91             Page 9
  432.  
  433.  
  434.  
  435. CHIP-SET-SPECIFIC NOTES
  436.  
  437.  
  438.  
  439. ************************************************************
  440. * Chips & Technologies CS8230 386/AT, CS8231 386/AT Cache, *
  441. *                      CS8233 PEAK 386/AT, CS82310 PEAK/DM *
  442. ************************************************************
  443. /C=04 - Chip ID(s): 82C302, 82C307, 82C311, 82C351
  444.  
  445.      These chip sets maps in 16k segments, but write protection for the
  446. area C0000-FFFFF is in 64k segments. To allow maximum memory utilization
  447. the driver marks any segment containing UMBs as read/write. If the 64k
  448. segment also contains a rom shadow, it is not protected.
  449.      Although it should not be necessary, if you wish to have a rom be
  450. shadowed and protected, exclude any non-rom areas within the 64k segment
  451. ( e.g. for a VGA rom at C0000-C7FFF, exclude C8000-CFFFF ).
  452.      If you must force a rom to be unshadowed, you need only exclude the
  453. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  454. C8000-CBFFF ).
  455.  
  456.  
  457.  
  458. ****************************************************************
  459. * Chips & Technologies 82C235/82C836 SCAT, CB8291/CB8295 ELEAT *
  460. ****************************************************************
  461. /C=05 - Chip ID(s): 82C235, 82C836
  462.  
  463.      These chip sets allow the 384k of motherboard ram at A0000-FFFFF to
  464. relocate to extended memory at 100000-15FFFF on systems with only 1mb of
  465. ram. If this remapping is enabled when UMB_DRVR.SYS enables this area,
  466. the remapping is removed and the size of your extended memory is reduced
  467. by 384k, i.e. it disappears. A small INT 15H stub is installed in the
  468. BIOS stack area at 2DH:5DH to handle situations where your extended
  469. memory size changes. If you shadow anything in your CMOS setup or you
  470. disable the relocation ( see your CMOS setup ), then this stub is not
  471. required and not installed. Note that this applies only to systems with
  472. *EXACTLY* 1MB of memory.
  473.      These chip sets map in 16k segments, but write protection for the
  474. area C0000-FFFFF is in 32k segments. To allow maximum memory utilization
  475. the driver marks any segment containing UMBs as read/write. If the 32k
  476. segment also contains a rom shadow, it is not protected.
  477.      Although it should not be necessary, if you wish to have a rom be
  478. shadowed and protected, exclude any non-rom areas within the 32k segment
  479. ( e.g. for a rom at C8000-CBFFF, exclude CC000-CFFFF ).
  480.      If you must force a rom to be unshadowed, you need only exclude the
  481. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  482. C8000-CBFFF ).
  483. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 10
  484.  
  485.  
  486.  
  487. CHIP-SET-SPECIFIC NOTES
  488.  
  489.  
  490.  
  491. ************************
  492. * ETEQ Micro COUGAR II *
  493. ************************
  494. /C=06 - Chip ID(s): 82C491 ( same ID but different chips for 386/486 )
  495.  
  496.      This chip set maps in 16k segments from C0000 to EFFFF, and one 64k
  497. segment for the system BIOS ( F0000-FFFFF ). Memory protection is done
  498. in 64k segments from C0000 to EFFFF. The hardware does not allow read /
  499. write access to the area F0000-FFFFF - i.e. the rom can be shadowed and
  500. protected, but the driver cannot use the boot page. The driver also
  501. cannot use the ram at A0000-BFFFF.
  502.      The chip set can remap A0000-BFFFF and D0000-EFFFF to the highest
  503. area if no shadowing is done in that area. If this remapping is enabled
  504. and UMB_DRVR.SYS enables the area D0000-EFFFF, the remapping is removed
  505. and the size of your extended memory is reduced by 256k. A small INT 15H
  506. stub is installed in the BIOS stack area at 2DH:5DH to handle situations
  507. where your extended memory size changes. If you shadow something in the
  508. area D0000-EFFFF in your CMOS setup ( even though you may have no rom
  509. there ) or you disable the remapping, then this stub is not required and
  510. not installed.
  511.      Although it should not be necessary, if you wish to have a rom be
  512. shadowed and protected, exclude non-rom areas within the 64k segment:
  513.  e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
  514. you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
  515.      If you must force a rom to be unshadowed, you need only exclude the
  516. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  517. C8000-CBFFF ).
  518. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 11
  519.  
  520.  
  521.  
  522. CHIP-SET-SPECIFIC NOTES
  523.  
  524.  
  525.  
  526. ***************************
  527. * OPTi Sx/AT, Sx/AT Cache *
  528. ***************************
  529. /C=07 - Chip ID(s): 82C281, 82C283
  530.  
  531.      These chip sets maps in 16k segments from C0000 to EFFFF, and one
  532. 64k segment for the system BIOS ( F0000-FFFFF ). Memory protection is
  533. in 64k segments from C0000 to EFFFF. The hardware does not allow read /
  534. write access to the area F0000-FFFFF - i.e. the rom can be shadowed and
  535. protected, but the driver cannot use the boot page. The driver also
  536. cannot use the ram at A0000-BFFFF.
  537.      These chip sets can remap A0000-BFFFF and D0000-EFFFF to the high
  538. end of extended memory if no shadowing is done in either area. If this
  539. remapping is enabled and UMB_DRVR.SYS enables the area D0000-EFFFF, the
  540. remapping is removed and the size of your extended memory is reduced by
  541. 256k. A small INT 15H stub is installed in the BIOS stack area at
  542. 2DH:5DH to handle situations where your extended memory size changes. If
  543. you shadow something in the area D0000-EFFFF in your CMOS setup ( even
  544. though you may have no rom there ) or you disable the remapping, then
  545. this stub is not required and not installed.
  546.      Although it should not be necessary, if you wish to have a rom be
  547. shadowed and protected, exclude non-rom areas within the 64k segment:
  548.  e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
  549. you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
  550.      If you must force a rom to be unshadowed, you need only exclude the
  551. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  552. C8000-CBFFF ).
  553. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 12
  554.  
  555.  
  556. CHIP-SET-SPECIFIC NOTES
  557.  
  558.  
  559. ********************
  560. * OPTi DX/BB PC/AT *
  561. ********************
  562. /C=08 - Chip ID(s): 82C496
  563.  
  564.      This chip set maps in 16k segments from C0000 to EFFFF, and one 64k
  565. segment for the system BIOS ( F0000-FFFFF ). Memory protection is done
  566. in 64k segments from C0000 to EFFFF. The hardware does not allow read /
  567. write access to the area F0000-FFFFF - i.e. the rom can be shadowed and
  568. protected, but the driver cannot use the boot page. The driver also
  569. cannot use the ram at A0000-BFFFF.
  570.      The chip set can remap A0000-BFFFF and D0000-EFFFF to the highest
  571. area if no shadowing is done in that area. If this remapping is enabled
  572. and UMB_DRVR.SYS enables the area D0000-EFFFF, the remapping is removed
  573. and the size of your extended memory is reduced by 256k. A small INT 15H
  574. stub is installed in the BIOS stack area at 2DH:5DH to handle situations
  575. where your extended memory size changes. If you shadow something in the
  576. area D0000-EFFFF in your CMOS setup ( even though you may have no rom
  577. there ) or you disable the remapping, then this stub is not required and
  578. not installed.
  579.      Although it should not be necessary, if you wish to have a rom be
  580. shadowed and protected, exclude non-rom areas within the 64k segment:
  581.  e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
  582. you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
  583.      If you must force a rom to be unshadowed, you need only exclude the
  584. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  585. C8000-CBFFF ).
  586.  
  587.  
  588. ***********************************
  589. * OPTi 386WB PC/AT, 486SXWB PC/AT *
  590. ***********************************
  591. /C=09 - Chip ID(s): 82C391, 82C493
  592.  
  593.      These chip sets maps in 16k segments from C0000 to EFFFF, and one
  594. 64k segment for the system BIOS ( F0000-FFFFF ). Memory protection is
  595. done in 64k segments from C0000 to EFFFF. The hardware does not allow
  596. read / write access to ram at F0000-FFFFF - i.e. the rom can be shadowed
  597. and protected, but the driver cannot use the boot page. The driver also
  598. cannot use the ram at A0000-BFFFF.
  599.      Although it should not be necessary, if you wish to have a rom be
  600. shadowed and protected, exclude non-rom areas within the 64k segment:
  601.  e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
  602. you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
  603.      If you must force a rom to be unshadowed, you need only exclude the
  604. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  605. C8000-CBFFF ).
  606. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 13
  607.  
  608.  
  609.  
  610. CHIP-SET-SPECIFIC NOTES
  611.  
  612.  
  613.  
  614. ***********************
  615. * OPTi 386/486WB EISA *
  616. ***********************
  617. /C=10 - Chip ID(s): 82C682
  618.  
  619.      This chip set maps and protects in 16k segments at C0000-DFFFF, one
  620. 64k segment at E0000 and one 64k segment for the system BIOS at F0000.
  621. The 'boot page' area can be used if recognized or forced, but the driver
  622. cannot use the ram at A0000-BFFFF.
  623.      If one of the 64k segments contains both shadowed rom and UMB area,
  624. it is marked read/write. All shadowed roms in the C0000-DFFFF area are
  625. write-protected.
  626.      If you must force a rom to be unshadowed, you need only exclude the
  627. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  628. C8000-CBFFF ) unless it is in the E0000 block or you wish to force the
  629. BIOS ( F0000-FFFFF) to be unshadowed. Then you must exclude the entire
  630. 64k block ( E0000-EFFFF and/or F0000-FFFFF ).
  631.  
  632.  
  633.  
  634. ****************************************
  635. * Elite Microelectronics Eagle, Falcon *
  636. ****************************************
  637. /C=11 - Chip ID(s): e88C311, e88C411
  638.  
  639.      These chip sets map and protect in 16k segments for the entire area
  640. C0000-FFFFF. All shadowed roms are write-protected. UMB_DRVR cannot use
  641. the ram at A0000-BFFFF.
  642.      These sets always remap A0000-BFFFF to the highest memory area, and
  643. can selectively remap C0000-FFFFF in 64k blocks if no shadowing is done
  644. within the 64k block. If this remapping is active and UMB_DRVR enables
  645. shadow memory within one of the remapped 64k blocks, the remapping is
  646. removed and the size of your extended memory is reduced. A small INT 15H
  647. stub is installed in the BIOS stack area at 2DH:5DH to handle situations
  648. where your extended memory size changes. If you shadow something in each
  649. 64k area from C0000 to FFFFF in your CMOS setup ( even though you may
  650. have no rom there ) or you disable the remapping, then this stub is not
  651. required and not installed.
  652.      If you must force a rom to be unshadowed, you need only exclude the
  653. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  654. C8000-CBFFF ).
  655. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 14
  656.  
  657.  
  658. CHIP-SET-SPECIFIC NOTES
  659.  
  660.  
  661. *************************
  662. * VLSI Technology SCAMP *
  663. *************************
  664. /C=12 - Chip ID(s): VL82C310, VL82C311, VL82C311L
  665.  
  666.      These chip sets map and protect in 32k segments for A0000-BFFFF,
  667. 16k segments for C0000-DFFFF, and 32k segments for E0000-FFFFF. If a
  668. rom shadow shares a 32k segment from E0000 to FFFFF with a UMB area, it
  669. is marked read/write. Any shadowed rom from C0000-DFFFF is protected, as
  670. is any 32k segment from E0000 to FFFFF that is all shadowed rom.
  671.      These sets can remap A0000-FFFFF to the highest memory area if no
  672. shadowing is done and system memory is 1MB, 2MB, 3MB or 4MB. If remap
  673. is active and UMB_DRVR enables any shadow memory, the remapping is
  674. removed and the size of your extended memory is reduced. A small INT 15H
  675. stub is installed in the BIOS stack area at 2DH:5DH to handle situations
  676. where your extended memory size changes. If you shadow anything in your
  677. CMOS setup or you disable the remapping, then this stub is not required
  678. and not installed. Note that this applies only to systems with *EXACTLY*
  679. 1MB, 2MB, 3MB or 4MB installed.
  680.      If you must force a rom to be unshadowed, you need only exclude the
  681. 16k segment(s) it occupies if it is between C0000 and DFFFF ( e.g. for a
  682. disk rom at C8000-CBFFF, exclude C8000-CBFFF ). If it is between E0000
  683. and FFFFF, exclude all areas in the 32k segment ( e.g. for a disk rom at
  684. E0000-E3FFF, exclude E0000-E7FFF ).
  685.  
  686.  
  687. *********************************************
  688. * VLSI Technology VL82C286, VL82C386 TOPCAT * ( These sets are all made
  689. * Intel 82340SX, 82340DX                    *     by VLSI Technology )
  690. *********************************************
  691. /C=13 - Chip ID(s): ( VLSI ) VL82C320, VL82C320A, VL82C330
  692.                     ( Intel ) 82343, 82343A, 82346
  693.  
  694.      These chip sets map and protect in 16k segments for the entire area
  695. from C0000 to FFFFF. All shadowed rom areas are protected. The video
  696. area ( A0000-BFFFF ) and the boot page area ( F0000-F7FFF ) can only be
  697. utilized on the VL82C320 / 82343 'A' revision chips. UMB_DRVR recognizes
  698. the various chips and forces restrictions accordingly.
  699.      These sets can remap A0000-FFFFF to the high end of extended memory
  700. if no shadowing is done and system memory is exactly 1MB or 2MB. If this
  701. remapping is active and UMB_DRVR enables shadow memory, the remapping is
  702. removed and the size of your extended memory is reduced. A small INT 15H
  703. stub is installed in the BIOS stack area at 2DH:5DH to handle situations
  704. where your extended memory size changes. If you shadow anything in your
  705. CMOS setup or you disable the remapping, then this stub is not required
  706. and not installed. Note that this applies only if the system memory size
  707. is *EXACTLY* 1MB or 2MB.
  708.      If you must force a rom to be unshadowed, you need only exclude the
  709. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  710. C8000-CBFFF ).
  711. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 15
  712.  
  713.  
  714. CHIP-SET-SPECIFIC NOTES
  715.  
  716.  
  717. *******************************
  718. * OPTi HiD/386 AT, HiB/486 AT *
  719. *******************************
  720. /C=14 - Chip ID(s): 82C382, 82C482
  721.  
  722.      These chip sets map in 16k segments from C0000 to EFFFF and one 64k
  723. segment for the system BIOS ( F0000-FFFFF ). Memory protection is done
  724. in 64k segments from C0000 to EFFFF. The hardware does not allow read /
  725. write access to the area F0000-FFFFF - i.e. the rom can be shadowed and
  726. protected, but the driver cannot use the boot page. The driver also
  727. cannot use the ram at A0000-BFFFF.
  728.      The chip sets can remap A0000-BFFFF and D0000-EFFFF to the highest
  729. area if no shadowing is done in that area. If this remapping is enabled
  730. and UMB_DRVR.SYS enables the area D0000-EFFFF, the remapping is removed
  731. and the size of your extended memory is reduced by 256k. A small INT 15H
  732. stub is installed in the BIOS stack area at 2DH:5DH to handle situations
  733. where your extended memory size changes. If you shadow something in the
  734. area D0000-EFFFF in your CMOS setup ( even though you may have no rom
  735. there ) or you disable the remapping, then this stub is not required and
  736. not installed.
  737.      Although it should not be necessary, if you wish to have a rom be
  738. shadowed and protected, exclude non-rom areas within the 64k segment:
  739.  e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
  740. you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
  741.      If you must force a rom to be unshadowed, you need only exclude the
  742. 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
  743. C8000-CBFFF ).
  744. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 16
  745.  
  746.  
  747. ERROR MESSAGES
  748.  
  749. ***************************
  750. * Shadow ram test failure *
  751. ***************************
  752.  
  753.      This message is issued when the shadow ram read/write test fails.
  754. It is usually an indication that you do not have your system configured
  755. properly for UMB_DRVR.SYS, you are forcing use of unavailable memory, or
  756. you do not have the chip set you have specified. Check your CMOS setup
  757. and any jumpers or switches per your system documentation. Also review
  758. the chip-set-specific notes earlier in this document for requirements.
  759.      This can also occur if you are trying the example listed earlier
  760. about using a portion of the video ram on a VGA system in CGA mode and
  761. your VGA hardware will not allow it.
  762.  
  763. ******************************
  764. * Chip not found / bad setup *
  765. ******************************
  766.  
  767.      As much as possible, UMB_DRVR.SYS tries to verify that you have the
  768. chip you indicated in the /C= parameter and that it is set up properly.
  769. Refer to the chip-set-specific notes and correct your CMOS system setup.
  770.      If you are sure you have the chip set, have specified it correctly,
  771. and have it set up properly, contact me ( see initial section of this
  772. documentation ) and I will try to straighten things out.
  773.  
  774. *************************
  775. * XMS already installed *
  776. *************************
  777.  
  778.      You have not installed UMB_DRVR.SYS before HIMEM.SYS, or you have
  779. omitted or incorrectly specified the 'DOS=xxxx,UMB' line in your
  780. setup. Correct your CONFIG.SYS file and and reboot.
  781.  
  782. *************************
  783. * Incorrect DOS version *
  784. *************************
  785.  
  786.      UMB_DRVR.SYS requires DOS 5.0 for proper operation.
  787.  
  788. ************************
  789. * Invalid parameter(s) *
  790. ************************
  791.  
  792.      On the DEVICE= statement for UMB_DRVR.SYS you have either:
  793.           A) omitted or incorrectly specified the /C= parameter, or
  794.           B) specified the /M= parameter incorrectly.
  795. Check that you have entered the proper 2-digit number for your chip set
  796. and that ( if specified ) the /M= parameter contains 24 valid characters
  797. from the set '.' ( period ), '-' ( minus ), '+' ( plus ) and '#' ( pound
  798. sign ). Correct the DEVICE= statement in CONFIG.SYS and reboot.
  799. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 17
  800.  
  801.  
  802. *************************************************
  803. * BAD NEWS ( CHIPS THAT WILL NOT BE SUPPORTED ) *
  804. *************************************************
  805.  
  806.      Intel:
  807.           82335, 82335SX - Lock feature prohibits access
  808.  
  809.      Sun Electronics:
  810.           SUNTAC ST62BC002 - No shadow ram support
  811.  
  812.      VLSI Technology:
  813.           VL82C10x series - No shadow ram support
  814.  
  815.      Western Digital:
  816.           FE3021, FE3021A ( Faraday ) - Lock feature prohibits access
  817.  
  818.  
  819. ****************************************************
  820. * COMING ATTRACTIONS ( SUPPORT UNDER DEVELOPMENT ) *
  821. ****************************************************
  822.  
  823.      Headland Technology:
  824.           HT series[*] ( 286/386SX )
  825.  
  826.      Intel:
  827.           82359 ( EISA 386DX/486 )
  828.  
  829.      OPTi:
  830.           L1/L2 Notebook ( 386DX/486 cache )
  831.  
  832.      Silicon Integrated Systems ( SIS ):
  833.           85C310, 85C401 ( 386DX/486 cache )
  834.  
  835.      Sun Electronics:
  836.           SUNTAC ST62C241, ST62C251 ( 286/386SX )
  837.  
  838.      Texas Instruments:
  839.           TACT83442 ( 386SX/386DX/486 )
  840.  
  841.      VLSI Technology:
  842.           VL82C486 ( 486 )
  843.  
  844.      Western Digital:
  845.           WD6000[*] ( Micro Channel 386SX/386DX/486 )
  846.           WD75C10[*], WD76C10[*], WD76C10L[*] ( 286/386SX )
  847.           WD7710[*], WD7910[*] ( 386SX )
  848.  
  849.  
  850.      [*] - Support questionable, may be minimal ( only 64K of UMBs ).
  851.  
  852.      If your chip set is not listed, I will try to add it if you can get
  853. me the documentation or put me in touch with the chip set manufacturer.
  854. UMB_DRVR.DOC       Version 5.10             11/12/91            Page 18
  855.  
  856.  
  857. ********************
  858. * REVISION HISTORY *
  859. ********************
  860.  
  861.      5.10 [11/12/91] - Added Chips & Technologies PEAK/DM,
  862.                          OPTi Sx/AT Cache, HiD/386 AT, HiB/486 AT;
  863.                        Fixes for VLSI Technology TOPCAT / Intel 82340,
  864.                          special conditions remapping extended memory
  865.                          on Chips & Technologies NEAT, LEAP and SCAT,
  866.                          miscellaneous logic improvements;
  867.                        Documentation updated and reorganized
  868.  
  869.      5.09 [10/25/91] - Fix for VLSI Technology TOPCAT / Intel 82340
  870.  
  871.      5.08 [10/14/91] - Fix for boot page special condition
  872.  
  873.      5.07 [10/13/91] - Added VLSI Technology SCAMP, TOPCAT / Intel 82340
  874.  
  875.      5.06 [10/12/91] - Added Elite Microelectronics Eagle, Falcon
  876.  
  877.      5.05 [10/09/91] - Added OPTi Sx/AT, DX/BB PC/AT, 386WB PC/AT,
  878.                          486SXWB PC/AT, 386/486WB EISA
  879.  
  880.      5.04 [10/02/91] - Added ETEQ Micro COUGAR II
  881.  
  882.      5.03 [09/21/91] - Added Chips & Technologies 386/AT,
  883.                          386/AT Cache, PEAK, SCAT, ELEAT;
  884.                        Removed setup requirements
  885.  
  886.      5.02 [09/12/91] - Added FOREX FRX32C300;
  887.                        Added support for use of 'boot page' area;
  888.                        Fix for VLSI Technology VL82C200;
  889.                        Default all roms shadowed
  890.  
  891.      5.01 [09/04/91] - Added VLSI Technology VL82C200
  892.  
  893.      5.00 [09/01/91] - Support for Chips & Technologies NEAT, LEAP;
  894.                        Original release version
  895.  
  896.                    ***** END OF DOCUMENTATION *****
  897.        UMB_DRVR.SYS, Version 5.10 [ 11/12/91 ] Registration Form
  898.                 ***** Please Type or Print Clearly *****
  899.  
  900.  
  901.         Name:____________________________________________________
  902.  
  903.         Address:_________________________________________________
  904.  
  905.                 _________________________________________________
  906.  
  907.         City/State_______________________________________________
  908.  
  909.         Zip/Postal Code__________________________________________
  910.  
  911.  
  912.  
  913.   ***** Telephone number_________________________________________
  914.   *   *
  915.   *   * Email system / routing / ID______________________________
  916.   *   *
  917.   *   *      ____________________________________________________
  918.   *   *
  919.   * O * Computer description, configuration, chip set, etc.
  920.   *   *
  921.   * P *      ____________________________________________________
  922.   *   *
  923.   * T *      ____________________________________________________
  924.   *   *
  925.   * I *      ____________________________________________________
  926.   *   *
  927.   * O * Comments_________________________________________________
  928.   *   *
  929.   * N *      ____________________________________________________
  930.   *   *
  931.   * A *      ____________________________________________________
  932.   *   *
  933.   * L *      ____________________________________________________
  934.   *   *
  935.   *   *      ____________________________________________________
  936.   *   *
  937.   *   *      ____________________________________________________
  938.   *   *
  939.   *****      ____________________________________________________
  940.  
  941.  
  942.  
  943.         Cost ( U.S.Funds ): $25
  944.  
  945.         Mail to: Christopher Blum
  946.                  1022 East Wayne Avenue
  947.                  Wooster, Ohio 44691
  948.